摘要 :
Embedded systems have long been evolving towards incorporating more than one processor. We see both, homogeneous and heterogeneous multi-core designs. Symmetric Multiprocessing (SMP) enables high performance computing on embedded ...
展开
Embedded systems have long been evolving towards incorporating more than one processor. We see both, homogeneous and heterogeneous multi-core designs. Symmetric Multiprocessing (SMP) enables high performance computing on embedded systems for applications that require high processing power. However, parallel programming of multi-core embedded applications suffers from complexity. It is notably harder, time-consuming and most importantly, prone to errors than sequential programming which makes it a challenge, particularly in safety critical domains. In avionics, the position paper CAST-32A Multi-core Processing reports on concerns and proposes objectives regarding the safety for multi-core software. The key is to identify and prevent possible interference that potentially disturbs the determinism. Rust is a modern systems programming language which aims amongst others at being safe. In this paper, we investigate how Rust can help with the development of safe multi-core applications, in particularly for the avionics domain. A representative platform is designed with a partitioned runtime environment using the L4Re separation kernel on a multi-core ARM architecture. The evaluation is carried out using a parallel implementation of a forward looking terrain avoidance algorithm.
收起